/**
 * @file PacketResolver.h
 * @brief 包解析器 - 从消息队列中提取数据，解析包
 *        这个类的实现比较复杂，还有很多需要实现
 * @author Zyan (zyishere2001@qq.com) 等
 * @version 1.0
 * @date 2022-05-07
 * 
 * @copyright Copyright (c) 2022  Zyanishere2001
 * 
 * @par 修改日志:
 * V1.0_0507 基本框架 TODO:数据类型的确认，解析函数的编写
 */
#ifndef _PACKET_RESOLVER
#define _PACKET_RESOLVER

#include "EventLoopThread.h"
#include "PacketListener.h"
#include "Logger.h"

class PacketResolver {
public:
    PacketResolver(SafeQueue<Packet_t>& queue);
    ~PacketResolver();
private:
    SafeQueue<Packet_t>& packetQueue;
    
    EventLoopThread workerThread;
    const EventLoopPtr& worker = workerThread.loop();

protected:
    void startResolving();
    void stopResolving();
};
#endif